home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.1 / make.1 < prev    next >
Text File  |  1995-07-25  |  12KB  |  265 lines

  1.  
  2.  
  3.  
  4.      MMMMAAAAKKKKEEEE((((1111LLLL))))              GGGGNNNNUUUU ((((22222222 AAAAuuuugggguuuusssstttt 1111999988889999))))               MMMMAAAAKKKKEEEE((((1111LLLL))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           make - GNU make utility to maintain groups of programs
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           mmmmaaaakkkkeeee [ ----ffff makefile ] [ option ] ...  target ...
  13.  
  14.      WWWWAAAARRRRNNNNIIIINNNNGGGG
  15.           This man paage is an extract of the documentation of _G_N_U
  16.           _m_a_k_e . It is updated only occasionally, because the GNU
  17.           project does not use nroff.  For complete, current
  18.           documentation, refer to the Info file mmmmaaaakkkkeeee or the DVI file
  19.           mmmmaaaakkkkeeee....ddddvvvviiii which are made from the Texinfo source file
  20.           mmmmaaaakkkkeeee....tttteeeexxxxiiiinnnnffffoooo.
  21.  
  22.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  23.           The purpose of the _m_a_k_e utility is to determine
  24.           automatically which pieces of a large program need to be
  25.           recompiled, and issue the commands to recompile them.  This
  26.           manual describes the GNU implementation of _m_a_k_e, which was
  27.           written by Richard Stallman and Roland McGrath.  Our
  28.           examples show C programs, since they are most common, but
  29.           you can use _m_a_k_e with any programming language whose
  30.           compiler can be run with a shell command.  In fact, _m_a_k_e is
  31.           not limited to programs.  You can use it to describe any
  32.           task where some files must be updated automatically from
  33.           others whenever the others change.
  34.  
  35.           To prepare to use _m_a_k_e, you must write a file called the
  36.           _m_a_k_e_f_i_l_e that describes the relationships among files in
  37.           your program, and the states the commands for updating each
  38.           file.  In a program, typically the executable file is
  39.           updated from object files, which are in turn made by
  40.           compiling source files.
  41.  
  42.           Once a suitable makefile exists, each time you change some
  43.           source files, this simple shell command:
  44.  
  45.                mmmmaaaakkkkeeee
  46.  
  47.           suffices to perform all necessary recompilations.  The _m_a_k_e
  48.           program uses the makefile data base and the last-
  49.           modification times of the files to decide which of the files
  50.           need to be updated.  For each of those files, it issues the
  51.           commands recorded in the data base.
  52.  
  53.           _m_a_k_e executes commands in the _m_a_k_e_f_i_l_e to update one or more
  54.           target _n_a_m_e_s, where _n_a_m_e is typically a program.  If no ----ffff
  55.           option is present, _m_a_k_e will look for the makefiles
  56.           _G_N_U_m_a_k_e_f_i_l_e, _m_a_k_e_f_i_l_e, and _M_a_k_e_f_i_l_e, in that order.
  57.  
  58.           Normally you should call your makefile either _m_a_k_e_f_i_l_e or
  59.           _M_a_k_e_f_i_l_e.  (We recommend _M_a_k_e_f_i_l_e because it appears
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 3/28/94)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      MMMMAAAAKKKKEEEE((((1111LLLL))))              GGGGNNNNUUUU ((((22222222 AAAAuuuugggguuuusssstttt 1111999988889999))))               MMMMAAAAKKKKEEEE((((1111LLLL))))
  71.  
  72.  
  73.  
  74.           prominently near the beginning of a directory listing, right
  75.           near other important files such as _R_E_A_D_M_E.) The first name
  76.           checked, _G_N_U_m_a_k_e_f_i_l_e, is not recommended for most makefiles.
  77.           You should use this name if you have a makefile that is
  78.           specific to GNU _m_a_k_e, and will not be understood by other
  79.           versions of _m_a_k_e.  If _m_a_k_e_f_i_l_e is `-', the standard input is
  80.           read.
  81.  
  82.           _m_a_k_e updates a target if it depends on prerequisite files
  83.           that have been modified since the target was last modified,
  84.           or if the target does not exist.
  85.  
  86.      OOOOPPPPTTTTIIIIOOOONNNNSSSS
  87.           ----bbbb
  88.  
  89.           ----mmmm   These options are ignored for compatibility with other
  90.                versions of _m_a_k_e.
  91.  
  92.           ----CCCC _d_i_r
  93.                Change to directory _d_i_r before reading the makefiles or
  94.                doing anything else.  If multiple ----CCCC options are
  95.                specified, each is interpreted relative to the previous
  96.                one: ----CCCC / ----CCCC etc is equivalent to ----CCCC /etc.  This is
  97.                typically used with recursive invocations of _m_a_k_e.
  98.  
  99.           ----dddd   Print debugging information in addition to normal
  100.                processing.  The debugging information says which files
  101.                are being considered for remaking, which file-times are
  102.                being compared and with what results, which files
  103.                actually need to be remade, which implicit rules are
  104.                considered and which are applied---everything
  105.                interesting about how _m_a_k_e decides what to do.
  106.  
  107.           ----eeee   Give variables taken from the environment precedence
  108.                over variables from makefiles.
  109.  
  110.           ----ffff _f_i_l_e
  111.                Use _f_i_l_e as a makefile.
  112.  
  113.           ----iiii   Ignore all errors in commands executed to remake files.
  114.  
  115.           ----IIII _d_i_r
  116.                Specifies a directory _d_i_r to search for included
  117.                makefiles.  If several ----IIII options are used to specify
  118.                several directories, the directories are searched in
  119.                the order specified.  Unlike the arguments to other
  120.                flags of _m_a_k_e, directories given with ----IIII flags may come
  121.                directly after the flag: ----IIII_d_i_r is allowed, as well as
  122.                ----IIII _d_i_r.  This syntax is allowed for compatibility with
  123.                the C preprocessor's ----IIII flag.
  124.  
  125.           ----jjjj _j_o_b_s
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 3/28/94)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      MMMMAAAAKKKKEEEE((((1111LLLL))))              GGGGNNNNUUUU ((((22222222 AAAAuuuugggguuuusssstttt 1111999988889999))))               MMMMAAAAKKKKEEEE((((1111LLLL))))
  137.  
  138.  
  139.  
  140.                Specifies the number of jobs (commands) to run
  141.                simultaneously.  If there is more than one ----jjjj option,
  142.                the last one is effective.  If the ----jjjj option is given
  143.                without an argument, _m_a_k_e will not limit the number of
  144.                jobs that can run simultaneously.
  145.  
  146.           ----kkkk   Continue as much as possible after an error.  While the
  147.                target that failed, and those that depend on it, cannot
  148.                be remade, the other dependencies of these targets can
  149.                be processed all the same.
  150.  
  151.           ----llll
  152.  
  153.           ----llll _l_o_a_d
  154.                Specifies that no new jobs (commands) should be started
  155.                if there are others jobs running and the load average
  156.                is at least _l_o_a_d (a floating-point number).  With no
  157.                argument, removes a previous load limit.
  158.  
  159.           ----nnnn   Print the commands that would be executed, but do not
  160.                execute them.
  161.  
  162.           ----oooo _f_i_l_e
  163.                Do not remake the file _f_i_l_e even if it is older than
  164.                its dependencies, and do not remake anything on account
  165.                of changes in _f_i_l_e.  Essentially the file is treated as
  166.                very old and its rules are ignored.
  167.  
  168.           ----pppp   Print the data base (rules and variable values) that
  169.                results from reading the makefiles; then execute as
  170.                usual or as otherwise specified.  This also prints the
  171.                version information given by the ----vvvv switch (see below).
  172.                To print the data base without trying to remake any
  173.                files, use mmmmaaaakkkkeeee ----pppp ----ffff/_d_e_v/_n_u_l_l.
  174.  
  175.           ----qqqq   ``Question mode''.  Do not run any commands, or print
  176.                anything; just return an exit status that is zero if
  177.                the specified targets are already up to date, nonzero
  178.                otherwise.
  179.  
  180.           ----rrrr   Eliminate use of the built-in implicit rules.  Also
  181.                clear out the default list of suffixes for suffix
  182.                rules.
  183.  
  184.           ----ssss   Silent operation; do not print the commands as they are
  185.                executed.
  186.  
  187.           ----SSSS   Cancel the effect of the ----kkkk option.  This is never
  188.                necessary except in a recursive _m_a_k_e where ----kkkk might be
  189.                inherited from the top-level _m_a_k_e via MAKEFLAGS or if
  190.                you set ----kkkk in MAKEFLAGS in your environment.
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 3/28/94)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      MMMMAAAAKKKKEEEE((((1111LLLL))))              GGGGNNNNUUUU ((((22222222 AAAAuuuugggguuuusssstttt 1111999988889999))))               MMMMAAAAKKKKEEEE((((1111LLLL))))
  203.  
  204.  
  205.  
  206.           ----tttt   Touch files (mark them up to date without really
  207.                changing them) instead of running their commands.  This
  208.                is used to pretend that the commands were done, in
  209.                order to fool future invocations of _m_a_k_e.
  210.  
  211.           ----vvvv   Print the version of the _m_a_k_e program plus a copyright,
  212.                a list of authors and a notice that there is no
  213.                warranty.  After this information is printed,
  214.                processing continues normally.  To get this information
  215.                without doing anything else, use mmmmaaaakkkkeeee ----vvvv ----ffff/_d_e_v/_n_u_l_l.
  216.  
  217.           ----wwww   Print a message containing the working directory before
  218.                and after other processing.  This may be useful for
  219.                tracking down errors from complicated nests of
  220.                recursive _m_a_k_e commands.
  221.  
  222.           ----WWWW _f_i_l_e
  223.                Pretend that the target _f_i_l_e has just been modified.
  224.                When used with the ----nnnn flag, this shows you what would
  225.                happen if you were to modify that file.  Without ----nnnn, it
  226.                is almost the same as running a _t_o_u_c_h command on the
  227.                given file before running _m_a_k_e, except that the
  228.                modification time is changed only in the imagination of
  229.                _m_a_k_e.
  230.  
  231.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  232.           /usr/local/doc/gnumake.dvi
  233.                               _T_h_e _G_N_U _M_a_k_e _M_a_n_u_a_l
  234.  
  235.      BBBBUUUUGGGGSSSS
  236.           See the chapter `Problems and Bugs' in _T_h_e _G_N_U _M_a_k_e _M_a_n_u_a_l .
  237.  
  238.      AAAAUUUUTTTTHHHHOOOORRRR
  239.           This manual page contributed by Dennis Morse of Stanford
  240.           University.  It has been reworked by Roland McGrath.
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 3/28/94)
  262.  
  263.  
  264.  
  265.